/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.esdc.librarysystem.manager;

import com.esdc.librarysystem.exception.HasOutstandingLoan;
import com.esdc.librarysystem.exception.LoanLimitException;
import com.esdc.librarysystem.exception.NotExistException;
import com.esdc.librarysystem.exception.OnReservedException;
import java.util.List;
import javax.ejb.Remote;

/**
 *
 * @author shou1dwe
 */
@Remote
public interface LoanManagerRemote {
    public boolean newLoan(long bookId, long memberId) throws NotExistException, LoanLimitException, HasOutstandingLoan;
    public void endLoan(long bookId) throws NotExistException;
    public void renewLoan(Long bookId[]) throws NotExistException, OnReservedException;
    public void renewLoanRestricted(Long[] bookId, long memberId) throws NotExistException, OnReservedException, HasOutstandingLoan;
    public List returnLoans(long memberId)throws NotExistException;
    public void newReservation(Long bookId[], Long memberId) throws NotExistException;
    public List returnReservations(long memberId)throws NotExistException;
    public void deleteReservations(Long[] toArray)throws NotExistException;
}
